package edu.nf.llmtest.service;

import edu.nf.llmtest.model.dto.EssayDTO;
import edu.nf.llmtest.model.entity.Essay;
import reactor.core.publisher.Mono;

import java.util.List;

public interface EssayService {
    /**
     * 获取文章列表
     * return
     */
    List<EssayDTO> listEssay();

    /**
     * 获取文章点赞数
     * @param eId 文章id
     * */
    Integer getLikeCount(Integer eId);

    /**
     * 获取文章列表 每次获取12条不重复的文章
     * @param eIds 已获取的文章id
     * @param size 获取文章数量
     * @param type 文章类型
     * @param search 搜索内容
     * */
    List<EssayDTO> listEssay(List<String> eIds, Integer size, String type,String search);

    /**
     * 从es获取文章列表 默认每次获取12条
     * @param eIds 已获取的文章id
     * @param size 获取文章数量
     * @param type 文章类型
     * @param search 搜索内容
     * */
    List<EssayDTO> listEssayFromEs(List<String> eIds, Integer size, String type,String search);

    /**
     * 获取文章详情
     * @param eId 文章id
     * */
    EssayDTO getEssayById(Integer eId);

    /**
     * 添加文章
     * @param essay 文章信息
     * */
    void addEssay(Essay essay);

}
